A. Field of the Invention
The present invention is directed towards the field of communications network systems, and more particularly towards accessing information in communications network systems that employ a plurality of protocols.
B. Description of the Related Art
Communications networks link together the information and resources of many computer systems. Increasing use of communications networks has created a need for efficient management and sharing of resources in a network environment.
FIG. 1 illustrates a communications network 100 including a first communications network 101 and a second communications network 102. The first communications network 101 may be identified as first sub-network 101, and the second communications network 102 may be identified as second sub-network 102.
The first sub-network 101 includes a number of client computer systems 103 and a number of server computer systems 104. Each of the clients 103 and servers 104 are coupled to a communications medium 107 that provides for the physical transfer of information between the clients 103 and the servers 104. The second sub-network 102 is similarly comprised of client computer systems 105, server computer systems 106, and a communications medium 108.
Each sub-network 101, 102 is coupled to a networking backbone medium 109 through a respective enterprise networking device 110, 111, such as a router or gateway. An enterprise networking device 110, 111 provides for the transfer of information between sub-networks 101, 102 over the backbone medium 109. Additional sub-networks may be linked to the backbone 109 to expand the size of the overall communications network 100.
The clients 103, 105 and servers 104, 106 are computer systems capable of executing an operating system. The operating system provides for the execution of application programs that enable the generation, retrieval, storage, and manipulation of information, such as data, voice, and video signals. The operating system, application programs, and information are resources that may be either maintained within each client or centrally maintained in a server.
In a client-server environment, as shown in the first sub-network 101 and second sub-network 102, the servers may maintain most of the resources utilized by the clients. Clients 103 employ the local communications medium 107 to both retrieve resources from the local servers 104 and store resources on a the local servers 104. Clients 103 in the first sub-network 101 utilize the backbone 109 to access resources on remote servers 106 that reside on the second sub-network 102.
Instead of merely storing resources in traditional file systems, a server may maintain the resources in sophisticated databases, such as relational databases. This enhances the ability of a client to effectively utilize the resources and share the resources with other clients.
A client employs a browser to access resources that are available on servers. A browser is an application program that allows a client to either uniquely identify a desired resource or identify key information associated with a desired resource. Based on the data used to identify the desired resource, the browser places a request on the communications network 100. The request indicates that the browser wishes to be notified of resources, such as files, within the communications network 100 that have the unique identity or key information provided by the browser's user. Servers on the communications network 100 respond to the browser's request by identifying resources or providing resources that are responsive to the request.
Resources may be uniquely identified through the use of a uniform resource locator ("URL"). A URL is a set of data that is combined together to uniquely identify a resource. For example, a URL may indicate a server on which the resource is located, the file name of the resource, and the protocol to be used in retrieving the resource. A server may respond to a browser's request by providing the browser with a URL. Upon receiving the URL, a browser employs the data in the URL to request the identified resource. In addition to identifying resources, uniform resource locators may be used for supplying information and other resource to targeted clients and servers.
FIG. 2A illustrates a traditional URL 120. The first field in the URL 120 is a protocol field 121, which contains a value corresponding to a protocol. The client will use the protocol to communicate with a server containing a resource identified by the URL 120. There are several standard protocols that are supported by most browsers. Examples of some standard protocols include file, file transfer protocol ("ftp"), gopher, hypertext transport protocol ("http"), mailto, news, nntp, and telnet.
The second field 122 in the URL 120 is a resource identifier field 122. This field is composed of several elements that combine to identify a desired resource. The elements in the resource identifier field 122 vary depending upon the protocol identified in the protocol field 121.
FIG. 2B illustrates a URL 123 having a protocol field 121 loaded with a value corresponding to the hypertext transport protocol. The resource identifier field 122 includes a machine:port field 124, a path field 125, and a file name field 126. The machine:port field 124 contains a value identifying a computer system containing the desired resource. Field 124 may also include a value corresponding to the port used for connecting to the identified computer system over the communications network 100. If a port value is not provided, a default port value will be employed.
The path field 125 contains a value identifying a directory path in the computer system identified in the machine:port field 124. The directory path contains the desired resource. The file name field 126 contains a value identifying the file name of the desired resource.
FIG. 2C illustrates the typical nomenclature used to represent a URL 127. The protocol field 121 contains a value corresponding to the http. The machine:port field 124 contains a value identifying Server A. Since no port value is provided, a default port on Server A will be employed. The path field 125 identifies a directory in Server A called "File.sub.-- Store", and the file name field 126 identifies a file named "File".
Based on the information provided in URL 127, a browser would make a request directed to Server A over the communications network 100 in accordance with the http protocol. The request would be in the form of the URL in FIG. 2C. In response to the request, Server A would provide the browser with a resource named "File" from its "File.sub.-- Store" directory.
The protocols used within a sub-network to form client-server communications links may be selected to best suit the majority of operations performed on the sub-network. In fact, it may be desirable for a client to form communication links with each server using a different protocol. This would allow each server to maintain communication links using a protocol that provides the best support for the function being performed by the server.
For example, a first server may primarily perform electronic mail functions. A second server may primarily perform scheduling functions. A first protocol may be best suited for electronic mail functions, and a second protocol may be best suited for scheduling functions. Accordingly, client interaction with the first server may be governed by the first protocol, and client interaction with the second server may be governed by the second protocol. Based upon the functions being performed by each server, it may also be beneficial to employ protocols other than the standard protocols listed above.
However, a non-standard protocol may not be supported by traditional browsers employed on some of the clients in a communication network 100. For example, the first sub-network's 101 clients 103 may or may not each employ a browser that supports all the protocols employed by the first sub-network's servers 104. The clients 105 in the second sub-network 102 may or may not each employ a browser that supports all the protocols employed by the first sub-network's servers 104. A first client on the first sub-network 101 may send a second client on either the first or second sub-network an electronic mail message. The message may include a URL identifying a resource located on a server in the first sub-network 101. The browser on the second client may not be able to successfully request and receive the identified resource, if the protocol identified in the URL's protocol field is not supported by the second client's browser.
Accordingly, it is desirable to have a mechanism for generating a URL that provides for the use of nonstandard protocols. It is also desirable to have a mechanism for enabling a computer system to process a URL that identifies a protocol not universally supported by all browsers.